package factory.abstractFactory

/**
 * 抽象工厂:一个工厂对应多个产品的创建
 * 简单工厂:一个工厂对应一类(拥有共同的抽象)产品的创建
 * 方法工厂:一个工厂对应一个产品的创建
 *
 * 模拟需求，开发一套跨平台方案，在windows和macos上调用其平台api创建对应的控件
 * 每个操作系统对应一个UIFactory，用于创建不同风格的UI控件
 */
fun main() {
    Application().getButton().paint()
    Application().getCheckBox().paint()
}